7.2 判别分析

判别事实上就是机器学习中的分类问题.

1 距离判别

设 G1,G2 是两个不同的总体, 有密度 f1,f2. 要判别 y 属于何者, 相当于检验 H0:f=f1↔H1:f=f2.
在判别问题中要求两种假设地位对等, 从而误判概率 p12=p21.[1]

记 λ=f1(y)f2(y). 从而给出判别域 (1.0)D1={y|f1(y)f2(y)≤C},D2={y|f1(y)f2(y)>C}. 当 y∈Di 时 y∈Gi, i=1,2.

1.1 正态同协方差阵情形

此时 Gi∼Np(μi,Σ), μ1≠μ2. 于是 fi(y)=C(detΣ)−12exp⁡{−12(y−μi)TΣ−1(y−μi)}⇒ln⁡λ=ln⁡f1(y)f2(y)=12[(y−μ2)TΣ−1(y−μ2)−(y−μ1)TΣ−1(y−μ1)].
记 W(y)=ln⁡λ 为判别函数, 它给出判别 (1.1)D1={y|W(y)≤ln⁡C},D2={y|W(y)>ln⁡C}.
简单计算得 W(y)=(μ1−μ2)TΣ−1(y−μ―), 其中 μ―=12(μ1+μ2).

当两个假设地位对等时, 可取 C=1, 则分界线是 W(y)=ln⁡C=0.[2]

从 (1.1) 推广出一个重要概念: Mahalanobis 距离 d(x,y)=[(x−y)TΣ−1(x−y)]12≡||x−y||Σ. 这个概念在 聚类方法、 因果推断重随机化 中也出现了. 这里我们把 Σ 称为权矩阵.

定义 y 到总体 Gi 的距离为 d(y,Gi)=||y−μi||Σ, 从而判别规则改为 (1.2){d(y,G1)<d(y,G2):y∈G1,d(y,G1)≥d(y,G2):y∈G2. 把这称为距离判别.
把集合 {y|d(y,G1)=d(y,G2)} 称为判别的边界. 在正态同协方差阵的情况下, 这个边界是过 μ― 的超平面.

下面对 C>0 讨论误判概率. 记 b=Σ−12(μ1−μ2). 当 y∈G1: W(y)∼Np(12||b||2,||b||2), 得p21=P(W(y)≤ln⁡C)=P(W(y)−EW(y)Var(W(y))≤ln⁡C−12||b||2||b||)=Φ(ln⁡C−12||b||2||b||).
类似地 p12=1−Φ(ln⁡C+12||b||2||b||).
注意到 p21,p12 都关于 ||b|| 严格下降, 而 ||b||2=bTb=(μ1−μ2)TΣ−1(μ1−μ2)≡d2(G1,G2) 可以看作两个总体的 Mahalanobis 距离, 因此两个总体较远时误判概率就会变小; 否则 p12+p21≈1, 且 {C=1:p21=p12,C>0:p21>p12,C<0:p21<p12.
在实际中, 我们需要估计 μ1,μ2,Σ. 一般地, Gi 中取容量为 ni 的样本 Y(i). 用估计(参考这里) μ^i=1niYT(i)1ni,Σ^=1n1+n2−2∑i=12YT(i)P1ni⊥Y(i) 代替 μi,Σ, 得 W^(y)=(μ^1−μ^2)TΣ^−1(y−μ^1+μ^22).
这就是基于样本观察值的距离判别.
它的误判概率的研究相当复杂, 这里不讨论.

1.2 分布自由同协方差阵情形

现在只假设 Gi 的协方差阵都是 Σ, 均值 μ1≠μ2. 注意到前面的判别规则只和分布的二阶矩有关, 所以这个判别在一般分布也同样适用, 但误差概率需要通过实践来检验.
下面讨论 Euclide 距离和 Mahalanobis 距离的优劣. 容易看出 Mahalanobis 距离的一个优点是没有量纲, 更加合理, 且把方差也考虑在内了.

1.3 协方差阵不等的情形

设 Gi∼(μi,Σi), Σ1≠Σ2. 令判别函数 W(y)=12[(y−μ2)TΣ2−1(y−μ2)−(y−μ1)TΣ1−1(y−μ1)].
依然用判别规则 (1.1). 此时 W(y) 不再是线性函数, 判别边界是 p 维空间的二次曲面. 现仅讨论 p=1, 总体分布正态的情形. 不妨设 μ1>μ2, y∈(μ2,μ1). 由 d(y,G1)=d(y,G2) 得 y−μ2σ2=μ1−yσ1⇒yC=μ1σ2+μ2σ1σ1+σ2≠μ―. 这里 yC 是判别的阈值. 判别为 {y≤yC,y∈G2,y>yC,y∈G1.
若 σ2>σ1, 阈值接近 μ1; 否则接近 μ2. 算出误判概率p12=∫−∞a(2πσ12)−12exp⁡{−(y−μ1)22σ12}dy=∫−∞b(2π)−12exp⁡{−x22}dx=Φ(μ2−μ1σ1+σ2), 这里 a=μ1σ2+μ2σ1σ1+σ2, b=μ2−μ1σ1+σ2. 类似地 p21=1−Φ(μ1−μ2σ1+σ2)=p12.
对于 k 个总体, 设 Gi∼(μi,Σi). 记 d(y,Gi)=||y−μi||Σi, 令 Di={y|d(y,Gi)=min1≤j≤kd(y,Gj)},i=1,⋯,k 为判别区域, 判别规则是 y∈Di:y∈Gi.

2 Fisher 判别函数

2.1 最优线性判别函数

Fisher 把问题限定到判断线性判别函数 aTy 得优劣. 如果一个判别函数是"好"的, 则它在各个总体中求均值所得的 k 个数应该有较大的利差. 令 Δ(a)=∑i=1k[Ei(aTy)−1k∑i=1kEi(aTy)]2∑i=1kVari(aTy), 它被称为Fisher 准则.

最优线性判别函数

如果 uTy 满足 Δ(u)=maxa∈RpΔ(a), 则 uTy 是最优线性判别函数.

把 Δ(a) 写成矩阵形式: Δ(a)=aT∑i=1k(μi−μ―)(μi−μ―)TaaT(∑i=1kΣi)a≡aTMaaTΣa.
显然它只依赖 a 的方向而非长度. 这里 μ―=1k∑i=1kμi, Σ=∑i=1kΣi, M=∑i=1k(μi−μ―)(μi−μ―)T. 令 b=Σ12, 不妨设 ||b||=1, 从而 Δ(a)=Δ(Σ−12b)=bTΣ−12MΣ−12b.
根据 这里, max||b||=1bTΣ−12MΣ−12b=λ1(Σ−1M)=λ1, 极大值点为 Σ−12MΣ−12 对应 λ1 的特征向量 c1, 因此 a1=Σ−12ci 是 Σ−1M 对应 λ1 的特征向量, 得到最优线性判别函数 W1(y)=a1Ty, 称 λ1 是 W1(y) 的判别效率.

此时判别规则是: 计算 d(W1(y),W1(μi))=|a1Ty−a1Tμi|(a1TΣia1)12,i=1,⋯,k, 然后把 y 判给上式最小的那个 Gi.

由于 μi 不全相同, Σ−12MΣ−12 至少有一个正特征值. 对 Σ−1M, 记特征值为 λ1≥⋯≥λr>0, 可以相继引进 Wi(y)=aiTy, 用 r 个综合指标来判别 y. 记 A=(a1,⋯,ar), 则 d2(ATy,ATμi)=(y−μi)TA(ATΣiA)−1AT(y−μi).

2.2 准则和其他判别的关系

在 k=2 时, Δ(a)=12aT(μ1−μ2)(μ1−μ2)Ta2aTΣa, 其中 Σ=Σ1+Σ22, 因此 Σ−1M=12Σ−1(μ1−μ2)(μ1−μ2)T, 有唯一特征值 12(μ1−μ2)TΣ−1(μ1−μ2)=12||μ1−μ2||Σ2, 相应特征向量为 a1=Σ−1(μ1−μ2), 得最优线性判别函数 W1(y)=(μ1−μ2)TΣ−1y, 因此 Σ1=Σ2 时判别和 (1.2) 一致.

如果把 aTy 换成任意可测的 a(y), 设 k=2, Gi∼fi(y), 则 Eia(y)=∫a(y)fi(y)dy, 得 (2.1)Δ(a(y))={∫a(y)[f1(y)−f2(y)]dy}2∫[a(y)−E1a(y)]2f1(y)dy+∫[a(y)−E2a(y)]2f2(y)dy.
设极大值点为 a0(y), 令 a(y)=a0(y)+λb(y), λ∈R, 则记 Δ(a(y))=Δ(a0(y),λ,b(y)). 则 Δ(a(y)) 关于 λ 在 λ=0 时极大: ∂Δ(a(y))∂λ|λ=0=0.
记 Ei0=∫a0(y)fi(y)dy,Di0=∫[a0(y)−Ei0]2fi(y)dy, 则计算得 ∫{(D10+D20)(f1−f2)−(E10−E20)[(a0−E10)f1+(a0−E20)f2]}b(y)dy=0. 由 b(y) 的任意性: (D10+D20)(f1−f2)−(E10−E20)[(a0−E10)f1+(a0−E20)f2]=0, 解得 a0(y)=(d+E10)f1−(d−E20)f2f1+f2, 其中 d=D10+D20E10−E20.
从 (2.1) 看出, 如果 a0(y) 是极大值点, 则 αa0(y)+β 也是 (2.1) 的极大值点.

设 πi 是 Gi 的先验概率, 即混合总体中 Gi 的比重是 πi, π1+π2=1. 用待定系数法可以算出 α=π1+π22d+E10−E20,β=π2(d−E20)−π1(d+E10)2d+E10−E20
时 αa0(y)+β=π2f1(y)π1f2(y)f1(y)+f2(y)≡a(y) 是 (2.1) 的极大值点, 即它是最优判别函数. 所以有判别域D1={y|a(y)>0}={y|f1(y)>π1π2f2(y)},D2={y|a(y)≤0}={y|f1(y)≤π1π2f2(y)}, 这和 (1.0) 在 C=π1π2 时相同!

此外还和 (3.1) 相同.

3 Bayes 判别

Bayes 判别也是判别分析最常用的方法之一. 它的基本思想参考 5.1 Bayes统计推断.

在判别问题中, θ 取 k 个值, 代表 k 个总体的密度 fi. 不妨认为 θ∈{1,⋯,k}. 设 πj=P(θ=j) 是先验概率, 把 Gj 误判给 Gi 的损失记为 L(i,j), 发生概率是 pij=∫Difj(y)dy=∫fi(y)χDi(y)dy, 这里 Di 是判别域, 所以平均损失 ( 风险函数 ):

∑i=1kL(i,j)∫χDi(y)fj(y)dy.

这时判别函数实质上是一组判别域 D={D1,⋯,Dk}: ⋃i=1kDi=Rp,Ph(Di∩Dj)=0,i≠j;i,j,h=1,⋯,k.
当 y∈Di, 判 y∈Gi.
由先验分布 π, 得 Bayes 风险为Rπ(D)=∑j=1kπj∑i=1kL(i,j)∫χDi(y)fj(y)dy=∑j=1k∫χDi(y)∑j=1kπjL(i,j)fj(y)dy.
记 hi(y)=∑j=1kπjL(i,j)fj(y). 目标是求 D 来最小化 Rπ(D), 把 D 称为Bayes 判别.

令 Di={y|hi(y)=min1≤j≤khj(y)}, i=1,⋯,k. 下面证明 D 就是 Bayes 解.

现在设 L(i,j)=δij (也即 0-1 损失函数), 则 Bayes 判别域为 Di={y|∑j≠iπjfj(y)=min1≤l≤k∑j≠lπjfj(y)}.
在 k=2 时, D1={y|f1(y)>π1π2f2(y)},(3.1)D2={y|f1(y)≤π1π2f2(y)}, 这就是 (1.0)!


  1. pij 表示实际来自 Gj 却被判给 Gi. ↩︎

  2. W(y)=0 在连续型分布中概率为 0, 判给哪一边都行. ↩︎